Field of the Invention
The invention relates to queue management during routing of data packets.
FIG. 1 shows the parts of a mobile system that are essential to the invention. Mobile Stations MS communicate with Base Transceiver Stations BTSn over an air interface Um. The base transceiver stations are controlled by Base Station Controllers BSC associated with Mobile Switching Centres MSC. A subsystem controlled by a base station controller BSC, including the base transceiver stations BTS controlled by the system, is called a Base Station Subsystem BSS. The interface between the exchange MSC and the base station subsystem BSS is called an A-interface. The part of the A-interface in the mobile system that is on the side of the exchange MSC is called a Network Subsystem NSS. The interface between the base station controller BSC and the base transceiver station BTS, in turn, is called an Abis-interface. The mobile switching centre MSC connects incoming and outgoing calls. It has similar functions as an exchange of a Public Switched Telephone Network PSTN. In addition to these, it also performs functions that are typical of mobile communication only, such as subscriber location management, in co-operation with the subscriber registers of the network, which are not shown separately in FIG. 1.
A standard radio connection used in digital mobile systems is a circuit-switched connection, which means that resources allocated to a subscriber are reserved for the connection concerned for the entire duration of the call. A General Packet Radio Service GPRS is a new service designed for digital mobile systems, such as the GSM system. The packet radio service is described in ETSI specifications TC-TR-GSM 02.60 and 03.60. The packet radio service makes it possible to offer the user of a mobile station MS a packet-form radio connection effectively utilizing radio resources. On a packet-switched connection, radio resources are reserved only when speech or data is to be sent. The speech or data is collected in packets of a certain length.
When a packet like this has been transmitted over the air interface Um, and the transmitting party does not immediately have a new packet to send, the radio resource can be released to other subscribers.
The system of FIG. 1 comprises a separate Serving GPRS Support Node or SGSN, which controls the operation of the packet data service on the network side. The control comprises, for example, logging of the mobile station on and off the system, location updating of the mobile station, and routing of the data packets to the correct destination. In the present application, xe2x80x98dataxe2x80x99 is interpreted widely to mean any information transmitted in a digital mobile system, for example speech encoded in digital form, data transmission between computers, or telefax data. An SGSN node can be in connection with a base transceiver station BTS, a base station controller BSC or a mobile switching centre MSC, or it may be separate from them. The interface between an SGSN node and a base station controller BSC is called a Gb-interface.
Information, such as control signalling and speech or other data is transmitted in the packet network by GPRS frames. Each frame F comprises a header 1 and a data part 2. In order that the system would know which mobile station has sent the frame, the header 1 comprises an identity identifying the mobile station, for example a Temporary Logical Link Identity TLLI. When a mobile station registers in the GPRS network, the network gives the mobile station a TLLI identity for use during the GPRS connection. After the GPRS connection, the same TLLI identity can be reassigned to some other mobile station.
In the header 1, it is also sometimes possible to use a Network Layer Service access point Identity NLSI as well as the TLLI identity to indicate the application protocol used by the mobile station.
In a packet radio network it is possible to imagine a situation in which a subscriber using a personal computer PC communicates with another computer 14 through a packet network 10, data network 11, router 13 and a local area network LAN. A long data transmission or several short consecutive data transmissions are in progress between the computers PC and 14, for example in accordance with Internet FTP protocol. Simultaneously, the user of the computer PC or some other subscriber initiates an interactive session, for example in accordance with the Internet Telnet protocol. If the packet of each interactive session had to wait at the nodes along the connection for the termination of the long data transmission, then the response times would grow so long in the interactive session that it would no longer be sensible to use the service.
The basic idea in many known queue management mechanisms is that short tasks in a queue can be prioritized over long tasks. When the short tasks are transferred to the beginning of the queue, the average waiting time is shortened. As, an illustrative example for this can be given a queue that comprises 10 tasks with a duration of 1 unit and 1 task with a duration of 10 units. The average value of the waiting times (before the task is started) is 13.2 units if the long task is performed first. If the long task is performed last, the average waiting time is only 5 units.
The problem with the application of the queue management system in the packet radio system is that in the packet radio system no mechanisms are defined by which a short task can be distinguished from a long task. It is not possible to conclude from an incoming packet how many packets of the same application will be arriving after the packet concerned.
In addition, the packet radio network sets certain requirements that do not occur in all queuing systems. One such requirement is that the packets of one and the same user belonging to one and the same application must be sent on the FIFO (First In First Out) principle. Later arriving packets must usually not be prioritized over earlier packets of the same application and the same user. Another requirement is that the operation of not a single application of even one user must be interrupted for so long that the application sets down the connection.
The object of the invention is thus to provide a method and an equipment implementing the method so that the above problems associated with queuing in the packet radio network can be solved. The objects of the invention are achieved by a method that is characterized by what is stated in claim 1. The preferred embodiments of the invention are claimed in the dependent claims.
The basis of the invention is that
at least two queues are formed at a node of a packet network,
a packet arriving at the node is conducted to a queue on the basis of at least one subscriber-specific criterion and/or service-quality-specific criterion, and
a predefined number of packets is sent from the queues to the destination at one go.
Further, different queues can be given different priorities on the basis of the subscriber, terminal equipment, application, quality of service, and the amount of data contained in the queue. All the while it is observed that the service of any queue is not interrupted for so long that the application would set down the connection.
In the present application, xe2x80x98queuexe2x80x99 means any arrangement by which the same effect is achieved as by physical placement of packets in different queues. With regard to the use of memory, it may be more economical to keep only pointers relating to the packets in different queues. A queue can be implemented, for example, as a chained list in which each element of the list contains a pointer pointing to the next and/or previous element.
Since the packets of interactive sessions can be prioritized over the packets belonging to long data transmissions, the response times of the interactive connections are shortened and the service is sensible to use even when other applications are operating on the background.
An arriving packet can be conducted to a queue assigned to it on the basis of a subscriber-specific and/or quality-of-service-specific criterion. The subscriber-specific criteria include, for example:
A subscriber/terminal equipment to which the packet concerned is addressed. The subscriber can also be identified on the basis of a TLLI identity or network address, such as an IP address, of the connection. Formation of a separate queue for each user ensures that a newly registered user can start using the services relatively quickly.
A transport layer process (e.g. TCP) that can be identified on the basis of the identity of a TCP session. The procedure makes it possible to support applications that open several TCP connections simultaneously, e.g. one connection for each picture of a WV page.
The quality-of-service-specific criteria include, for example:
The Quality of Service QoS of a receiving subscriber. The GPRS specifications define four different qualities of service. On the basis of the quality of service, it is possible to ensure that the packets of the critical applications can be transmitted within the maximum time defined by the specifications.
The application or application class that can be identified on the basis of the port of a TCP protocol. By separating from one another different applications, such as FTP, Telnet and WWW, one can ensure that interactive applications need not wait for any long data transmissions to be terminated first.
The applications can be separated one by one, or the applications can be divided into different application classes that differ from one another with respect to the service quality requirements, e.g. with respect to the greatest delay allowed. From the queues with the highest quality of service, packets can be sent immediately. The subscribers can also be divided into different quality classes. Prioritization can be effected so that separate queues are formed for the data on the basis of each criterion. From each queue, a certain amount of data is sent on the FIFO principle. Data is then sent from the next queue, and so on. The amount of data transmitted at one go can be set such that each queue with one and the same quality of service is given an equal amount of transmission time in each transmission turn. Alternatively, the same number of packets can be sent from each such queue, whereby the subscribers are offered service of the same quality even though the connection of one subscriber may be poorer than that of another.
The amount of data transmitted at one go can also be regulated on the basis of the data located in the queue so that more packets are sent from queues with many packets than from shorter queues. It is also possible to monitor the service that has been given to each queue earlier, for example by maintaining a moving average of time for the time the packets are in the queue. The average of time is to be maintained constant for each queue with the same quality of service by serving better a queue that has been offered service of a quality below the average. At the same time, it is monitored that the operation of not a single user and/or a single application is interrupted for so long that the application would set down the connection.
If the division is made entirely on the basis of the subscriber or the terminal equipment, the data packet of each new connection is assigned a queue of its own, and so it is not placed at the back of a single long queue like in the case of one common queue. In this kind of division made entirely on the basis of a subscriber-specific or connection-specific identity (e.g. TLLI identity), however, problems arise if one and the same subscriber starts simultaneously more than one application requiring different service. For example, the subscriber may be transmitting a large amount of data by the FTP protocol and let the transmission continue as background processing when he starts an interactive session, such as a TELNET session. Because of the FTP session, the queue of the subscriber concerned may already contain large quantities of data, and so the response times in the interactive session may become unduly long.
In a preferred embodiment of the invention, the problem is solved by improving the division so that a separate queue is formed for each application type and/or each TCP process. This improves the operability of the applications requiring short response times as compared with the simple embodiment described above. If, for example, TELNET can be identified as a unique application or application class on the basis of the TCP protocol and a unique queue is assigned to it, the data packets of the TELNET application can be prioritized over packets of the same user located in the queue of the FTP session.
Prioritization can be further improved by controlling the amount of data sent from each queue at one go. If the division into queues is based on the subscriber identity, the amount of data sent at one go can be defined on the basis of the subscriber""s quality of service. The quality of service is negotiated as the subscriber registers to use the GPRS network or possibly also during the session. If the subscriber""s quality of service has a high priority, a larger amount of data is sent from a queue like this at one go than from a queue with a low priority. The subscriber with a higher quality of service is thus offered better service, and the operability of his applications is improved. Further, the queues with the highest priority can be processed immediately, whereas those with other priorities are processed in turns. If the division is based on the application or TCP process and it is detected that a certain queue contains a relatively small amount of data, all the remaining data can be transmitted at one go, whereby the application or the TCP process need not wait for a small amount of data so as to be able to terminate the task. Here the transmission of the last few packets of a queue hardly slows the other queues at all, and yet it clearly improves the operation of the application or TCP process concerned, since any extra delay is eliminated.